#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/msg.h>
#include <signal.h>
#include <time.h>
#define BUFSZ 256
#define SOFAQUEST 1	//沙发请求标识
#define WAITQUEST 2	//等候室请求标识
/*信号灯控制用的共同体*/
typedef union semuns {
	int val;
} Sem_uns;
/* 消息结构体*/
typedef struct msgbuf {
	long mtype;
	int mid;
} Msg_buf;
int q_sofa_id;//沙发消息队列id
int q_wait_id;//等待室队列id
int s_customer_id;//顾客同步信号量id
int s_account_id;//互斥账本信号量


int get_ipc_id(char *proc_file,key_t key);
char *set_shm(key_t shm_key,int shm_num,int shm_flag);
int set_msq(key_t msq_key,int msq_flag);
int set_sem(key_t sem_key,int sem_val,int sem_flag);
int down(int sem_id);
int up(int sem_id);
//获取消息队列id对应的消息队列的消息数量
int getMsqNum(int msq_id);
//初始化相关变量的函数
void init();


